package instrucciones;

public abstract class Instruccion {
	protected String opcode;
	protected String[] codigoMaquina;
	protected String instruccionBinario;
	
	public Instruccion(String opcode)
	{
		this.opcode = opcode;
		this.codigoMaquina = new String[4];
		this.instruccionBinario = null;
	}
	
	public abstract void Transformar();
	
	public void DarFormatoArchivo()
	{
		for(int i=0; i < codigoMaquina.length; i++)
		{
			codigoMaquina[i]= String.format("%1$2s", Integer.toHexString(Integer.parseInt(instruccionBinario.substring(i*8,(i+1)*8),2))).replace(' ','0');
		}
	}
	
	public String[] getCodigoMaquina()
	{
		return codigoMaquina;
	}
	
}
